/* $Id: AdminClientCompanyReviewFacade.java 
 * Copyright (C) 2011, TRAKHEES
 *  
 * Revision History
 *
 * Date  			Author 		    	Remarks
 * ---------------------------------------------------------------------------------
 *
 */
package ae.pcfc.etks.online.common.facade;

import ae.pcfc.etks.online.common.vo.AdminApprovalVO;
import ae.pcfc.etks.online.common.vo.ClientCompanyVO;
import ae.pcfc.etks.online.wf.service.client.vo.ClientAdminCompleteStepVO;

public interface AdminClientCompanyReviewFacade extends Facade{
	
	/**
	 * getClientCompanyByApplicationId
	 * Method to get client company information by application id
	 * @param applicationId
	 * @return
	 * ClientCompanyVO
	 */
	public ClientCompanyVO getClientCompanyByApplicationId(Long applicationId);	
	/**
	 * reviewRegisterClientCompany
	 * Method to update the approval action on the Client Company Admin Registration application by Admin
	 * This method calls the DomainObjectManagers of AppMetaData, ProcessAction, ProcessComments to update the details
	 * Also, this creates the Client Company Admin user in the Online DB if the Admin approves the request
	 * @param adminApprovalVO
	 * @param clientCompanyVO
	 * void
	 */
	public ClientAdminCompleteStepVO reviewRegisterClientCompany(AdminApprovalVO adminApprovalVO, ClientCompanyVO clientCompanyVO);
	
	public void undoReviewRegisterClientCompany(AdminApprovalVO adminApprovalVO, ClientCompanyVO clientCompanyVO);
}
